package com.fmdj.bff.driver.feign;

import com.fmdj.bff.driver.controller.form.ClearNewOrderQueueForm;
import com.fmdj.bff.driver.controller.form.ReceiveNewOrderMessageForm;
import com.fmdj.bff.driver.controller.form.SendPrivateMessageForm;
import com.fmdj.common.util.CommonResult;
import io.swagger.v3.oas.annotations.Operation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

import javax.validation.Valid;

@FeignClient(value = "fmdj-snm")
public interface SnmServiceApi {

    @PostMapping("/message/order/new/clearNewOrderQueue")
    CommonResult clearNewOrderQueue(ClearNewOrderQueueForm form);

    @PostMapping("/message/order/new/receiveNewOrderMessage")
    CommonResult receiveNewOrderMessage(ReceiveNewOrderMessageForm form);

    @PostMapping("/message/sendPrivateMessage")
    CommonResult sendPrivateMessage(@Valid @RequestBody SendPrivateMessageForm form);

    @PostMapping("/message/sendPrivateMessageAsync")
    CommonResult sendPrivateMessageAsync(@Valid @RequestBody SendPrivateMessageForm form);
}
